A barcode reader (or barcode scanner) is an electronic device for reading printed barcodes. Like a flatbed scanner, it consists of a light source, a lens and a light sensor translating optical impulses into electrical ones. Additionally, nearly all barcode readers contain decoder circuitry analyzing the barcode's image data provided by the sensor and sending the barcode's content to the scanner's output port.
Contents |
The reader types can be divided as follows:
Pen-type readers consist of a light source and a photodiode that are placed next to each other in the tip of a pen or wand. To read a bar code, the person holding the pen must move the tip of it across the bars at a relatively uniform speed. The photodiode measures the intensity of the light reflected back from the light source as the tip crosses each bar and space in the printed code. The photodiode generates a waveform that is used to measure the widths of the bars and spaces in the bar code. Dark bars in the bar code absorb light and white spaces reflect light so that the voltage waveform generated by the photo diode is a representation of the bar and space pattern in the bar code. This waveform is decoded by the scanner in a manner similar to the way Morse code dots and dashes are decoded.
Laser scanners work the same way as pen type readers except that they use a laser beam as the light source and typically employ either a reciprocating mirror or a rotating prism to scan the laser beam back and forth across the bar code. As with the pen type reader, a photodiode is used to measure the intensity of the light reflected back from the bar code. In both pen readers and laser scanners, the light emitted by the reader is rapidly varied in brightness with a data pattern and the photodiode receive circuitry is designed to detect only signals with the same modulated pattern.
CCD readers use an array of hundreds of tiny light sensors lined up in a row in the head of the reader. Each sensor measures the intensity of the light immediately in front of it. Each individual light sensor in the CCD reader is extremely small and because there are hundreds of sensors lined up in a row, a voltage pattern identical to the pattern in a bar code is generated in the reader by sequentially measuring the voltages across each sensor in the row. The important difference between a CCD reader and a pen or laser scanner is that the CCD reader is measuring emitted ambient light from the bar code whereas pen or laser scanners are measuring reflected light of a specific frequency originating from the scanner itself.
Two-dimensional imaging scanners are the fourth and newest type of bar code reader. They use a camera and image processing techniques to decode the bar code.
Video camera readers use small video cameras with the same CCD technology as in a CCD bar code reader except that instead of having a single row of sensors, a video camera has hundreds of rows of sensors arranged in a two dimensional array so that they can generate an image.
Large field-of-view readers use high resolution industrial cameras to capture multiple bar codes simultaneously. All the bar codes appearing in the photo are decoded instantly (ImageID patents [htww.ashberg.de/php-barcode/ Folke Ashberg: EAN-13 Image-Scanning] and code creation tools) or by use of plugins (e.g. the Barcodepedia uses a flash application and some web cam for querying a database), have been realized options for resolving the given tasks.
Omni-directional scanning uses "series of straight or curved scanning lines of varying directions in the form of a starburst, a lissajous pattern, or other multiangle arrangement are projected at the symbol and one or more of them will be able to cross all of the symbol's bars and spaces, no matter what the orientation."[1]
Omni-directional scanners almost all use a laser. Unlike the simpler single-line laser scanners, they produce a pattern of beams in varying orientations allowing them to read barcodes presented to it at different angles. Most of them use a single rotating polygonal mirror and an arrangement of several fixed mirrors to generate their complex scan patterns.
Omni-directional scanners are most familiar through the horizontal scanners in supermarkets, where packages are slid across a glass or sapphire window. There are a range of different omni-directional units available which can be used for differing scanning applications, ranging from retail type applications with the barcodes read only a few centimetres away from the scanner to industrial conveyor scanning where the unit can be a couple of metres away or more from the code. Omni-directional scanners are also better at reading poorly printed, wrinkled, or even torn barcodes.
While cell phone cameras without auto-focus are not ideal for reading some common barcode formats, there are 2D barcodes which are optimized for cell phones, as well as QR Codes and Data Matrix codes which can be read quickly and accurately with or without auto-focus. These open up a number of applications for consumers:
A number of enterprise applications using cell phones are appearing:
The reader packaging can be distinguished as follows :
The Symbology Decoding Algorithm for barcode scanners is the first symbology-based algorithm for decoding. The new technique utilizes information from the entire image to detect transitions in the signal, whereas the traditional algorithm relies on the maxima and minima. Traditional methods are prone to errors because the method relies on a derivative; they are also sensitive to noise and blurring. The Symbology Decoding Algorithm for Bar Code Scanners exhibited high resilience to blur and noise when tested on 1D Universal Product Codes. The algorithm can also be extended for use on 2D Universal Product Codes.[3]
Early barcode scanners, of all formats, almost universally used the then-common RS-232 serial interface. This was an electrically simple means of connection and the software to access it is also relatively simple, although needing to be written for specific computers and their serial ports.
There are a few other less common interfaces. These were used in large EPOS systems with dedicated hardware, rather than attaching to existing commodity computers. In some of these interfaces, the scanning device returned a "raw" signal proportional to the intensities seen while scanning the barcode. This was then decoded by the host device. In some cases the scanning device would convert the symbology of the barcode to one that could be recognized by the host device, such as Code 39.
With the popularity of the PC and its standard keyboard interface, it became ever easier to connect physical hardware to a PC and so there was commercial demand similarly to reduce the complexity of the associated software. "Keyboard wedge" hardware plugged between the PC and its normal keyboard, with characters from the barcode scanner appearing exactly as if they had been typed at the keyboard. This made the addition of simple barcode reading abilities to existing programs very easy, without any need to change them, although it did require some care by the user and could be restrictive in the content of the barcodes that could be handled.
Later barcode readers began to use USB connectors rather than the keyboard port, as this became a more convenient hardware option. To retain the easy integration with existing programs, a device driver called a "software wedge" could be used, to emulate the keyboard-impersonating behaviour of the old "keyboard wedge" hardware.
In many cases a choice of USB interface types (HID, CDC) are provided. Some have Powered USB.
Modern handheld barcode readers are operated in wireless networks according to IEEE 802.11g (WLAN) or IEEE 802.15.1 (Bluetooth). However, such configuration limits the time of operation from battery or rechargeable battery and required recharging at least after a shift of operation.
The scanner resolution is measured by the size of the dot of light emitted by the reader. If this dot of light is wider than any bar or space in the bar code, then it will overlap two elements (two spaces or two bars) and it may produce wrong output. On the other hand, if a too small dot of light is used, then it can misinterpret any spot on the bar code making the final output wrong.
The most commonly used dimension is 13 mils (0.33 mm), although some scanners can read codes with dimensions as small as 3 mils. Smaller bar codes must be printed at high resolution to be read accurately.
|